from django.views import View
# 导入返回响应
from SaaSDevelTool.data_return_response import create_response
# 导入错误信息装饰器
from SaaSDevelTool.data_return_response import error_message_detection
# 导入分页
from SaaSDevelTool.data_mysql_data import db
# 查询当前参数是否是int类型
from SaaSDevelTool.data_operation import is_number

"""
获取对应的功能包下的后置信息
"""


class SaaSDevelModelPackAgeFrontUpdate(View):
    @error_message_detection
    def post(self, request):
        # 获取当前功能包编号
        package_id = request.POST.get("package_id")
        # 获取要修改的功能包编号
        front_package_id = request.POST.get("front_package_id")
        # 判断参数是否完整
        if not all([package_id, front_package_id]):
            return create_response(code=400, msg="当前功能包编号与需要修改的编号为必传参数。")

        # 判断功能包编号格式是否正确
        if not is_number(package_id):
            # 返回对应的相应响应
            return create_response(code=400, msg="当前传递的功能包编号格式错误。")

        # 判断需要修改的功能包
        if not is_number(front_package_id):
            # 返回对应的相应响应
            return create_response(code=400, msg="当前传递的后置功能包编号格式错误。")

        # 拼接sql语句进行操作
        update_sum_package_table_sql = """
            UPDATE 
                db_saas_center.sum_package_table
            SET 
                front_package_id = {}
            WHERE 
                package_id = {}
            ;""".format(package_id,front_package_id)
        # 执行语句
        db.update(update_sum_package_table_sql)
        # 返回响应
        return create_response(code=200, msg="后置功能包配置成功。")
